package com.example.horizonserver.service;

import com.example.horizonserver.common.result.PageResult;
import com.example.horizonserver.pojo.DTO.EditPasswordDTO;
import com.example.horizonserver.pojo.DTO.UserDTO;
import com.example.horizonserver.pojo.DTO.UserLoginDTO;
import com.example.horizonserver.pojo.DTO.UserPageQueryDTO;
import com.example.horizonserver.pojo.entity.User;

import java.util.List;

public interface UserService {
    /**
     * 登录
     * @param userLoginDTO
     * @return
     */
    User login(UserLoginDTO userLoginDTO) ;

    /**
     * 新增员工
     * @param userDTO
     */
    void save(UserDTO userDTO);

    /**
     * 批量删除员工
     * @param ids
     */
    void deleteBatch(List<Integer> ids);

    /**
     * 条件分页查询
     * @param userPageQueryDTO
     * @return
     */
    PageResult pageQuery(UserPageQueryDTO userPageQueryDTO);

    /**
     * 根据id查询员工 用做修改回显
     * @param id
     * @return
     */
    User getById(Integer id);

    /**
     * 根据id修改对应的员工信息
     * @param userDTO
     */
    void update(UserDTO userDTO);

    /**
     * 修改密码
     * @param editPasswordDTO
     */
    void editPassword(EditPasswordDTO editPasswordDTO);
}
